package Controlador;

import Model.Cidades;
import Model.Estabelecimento;
import Model.Zonas;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * User: J-Pac123
 * Date: 4/18/14
 * Time: 2:14 PM
 * To change this template use File | Settings | File Templates.
 */
public class CtlConsulta {

    private int userId;

    private Estabelecimento estabelecimento;

    public CtlConsulta() {
        CtlUtilizadores ctlUtilizadores = new CtlUtilizadores();
        userId = ctlUtilizadores.getIdOfCurrentUser();

        estabelecimento = new Estabelecimento();
    }

    // PESQUISA COM FILTRO
    // Modificado -- a receber tipo pratos e eventos como lista e nao como String
    public Estabelecimento[] aplicarFiltro(String tipo, boolean comFotografia, int avaliacao, String nome, String cidade, String zona, List<String> pratos, List<String> eventos) {
        return estabelecimento.select(tipo, comFotografia, avaliacao, nome, cidade, zona, pratos, eventos);
    }

    // PESQUISA SEM FILTRO
    public Estabelecimento[] selectAll() {
        return estabelecimento.selectAll();
    }

    // Modificado --- metodo criado para popular detalhes estabelecimento no "Ecra detalhes de estabelecimento"
    public Estabelecimento getDetalhesEstabelecimento(int idEstabelecimento) {
        return estabelecimento.getDetalhesEstabelecimento(idEstabelecimento);
    }

    public String[] getCidades() {
        Cidades cidades = new Cidades();

        return cidades.selectAll();
    }

    // Modificado -- metodo buscar a bd -- Duvida? Quereriam eles dizer que este getTipos buscaria tambem tipoEventos e tipoPratos
    public String[] getTipos() {
        return estabelecimento.obterTiposEstabelecimento();
           /*
        Tipo[] tipos = Tipo.values();
        String[] tiposStrings = new String[tipos.length];

        for (int i = 0; i < tipos.length; i++) {
            tiposStrings[i] = tipos[i].toString();
        }
        return tiposStrings;*/
    }




    public String[] getZonas() {
        Zonas zonas = new Zonas();

        return zonas.selectAll();
    }

}
